package org.jeecg.modules.prodorder.entity;

import java.io.Serializable;

import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @Description: 生产工单
 * @Date:   2021-09-09
 * @Version: V1.0
 */
@Data
@TableName("production_order_info")
@ApiModel(value="production_order_info对象", description="生产工单")
public class ProductionOrderInfo implements Serializable {
	
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
	
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
    
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	
	/**父工单号*/
	@Excel(name = "父工单ID", width = 15)
    @ApiModelProperty(value = "父工单ID")
    private java.lang.String pid;
	
	/**是否有子工单*/
	@Excel(name = "是否有子工单", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否有子工单")
    private java.lang.String hasChild;
	
	/**工单号*/
	@Excel(name = "工单号", width = 15)
    @ApiModelProperty(value = "工单号")
    private java.lang.String prodOrderCode;
	
	/**订单号*/
	@Excel(name = "订单号", width = 15, dictTable = "order_info", dicText = "code_num", dicCode = "id")
    @Dict(dictTable = "order_info", dicText = "code_num", dicCode = "id")
    private java.lang.String orderInfoId;
	
	/**拆分序号*/
	@Excel(name = "拆分序号", width = 15)
    @ApiModelProperty(value = "拆分序号")
    private java.lang.String sn;
	
	/**工单类型*/
	@Excel(name = "工单类型", width = 15, dicCode = "prod_order_type")
	@Dict(dicCode = "prod_order_type")
    @ApiModelProperty(value = "工单类型")
    private java.lang.Integer prodOrderType;
	
	/**款名*/
	@Excel(name = "款名", width = 15, dictTable = "style_customer_info", dicText = "name", dicCode = "id")
    @Dict(dictTable = "style_customer_info", dicText = "name", dicCode = "id")
    private java.lang.String styleCusInfoId;
	
	/**数量*/
	@Excel(name = "数量", width = 15)
    @ApiModelProperty(value = "数量")
    private java.lang.Integer count;
	
	/**重量(连石重)*/
	@Excel(name = "连石重", width = 15)
    @ApiModelProperty(value = "重量(连石重)")
    private java.math.BigDecimal withStoneWeight;
	
	/**净重(净金重)*/
	@Excel(name = "净重(净金重)", width = 15)
    @ApiModelProperty(value = "净重(净金重)")
    private java.math.BigDecimal weight;
	
	/**交收类型*/
	@Excel(name = "交收类型", width = 15, dicCode = "prod_flow_type")
	@Dict(dicCode = "prod_flow_type")
    @ApiModelProperty(value = "交收类型")
    private java.lang.Integer type;
	
	/**创建人*/
	@Excel(name = "发出人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	
	/**所属部门*/
    @Excel(name = "所属部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code")
	@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "org_code")
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
    
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	
	/**发出人*/
	@Excel(name = "发出人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "发出人")
    private java.lang.String sendBy;
	
	/**发出部门*/
	@Excel(name = "发出部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
	@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @ApiModelProperty(value = "发出部门")
    private java.lang.String sendDept;
	
	/**发出时间*/
	@Excel(name = "发出时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "发出时间")
    private java.util.Date sendTime;
	
	/**接收人*/
	@Excel(name = "接收人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "接收人")
    private java.lang.String receiveBy;
	
	/**接收人部门*/
	@Excel(name = "接收部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
	@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @ApiModelProperty(value = "接收部门")
    private java.lang.String receiveDept;
	
	/**接收时间*/
	@Excel(name = "接收时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "接收时间")
    private java.util.Date receiveTime;
	
	/**状态 0待分配、1待接收、2做货中、3做货完成*/
	@Excel(name = "状态", width = 15, dicCode = "prod_flow_status")
	@Dict(dicCode = "prod_flow_status")
    @ApiModelProperty(value = "状态")
    private java.lang.Integer status;
	
	/**其他配件重*/
	@Excel(name = "其他配件重", width = 15)
    @ApiModelProperty(value = "其他配件重")
    private java.math.BigDecimal otherAccessoryWeight;
	
	/**石重*/
	@Excel(name = "石重", width = 15)
    @ApiModelProperty(value = "石重")
    private java.math.BigDecimal pureStoneWeight;
	
	/**不计耗重*/
	@Excel(name = "不计耗重", width = 15)
    @ApiModelProperty(value = "不计耗重")
    private java.math.BigDecimal noAttritionWeight;
	
	/**配件数*/
	@Excel(name = "配件数", width = 15)
    @ApiModelProperty(value = "配件数")
    private java.lang.Integer accessoryCount;
	
	/**耗率*/
	@Excel(name = "耗率(%)", width = 15)
    @ApiModelProperty(value = "耗率(%)")
    private java.math.BigDecimal attritionRate;
	
	/**给耗*/
	@Excel(name = "给耗", width = 15)
    @ApiModelProperty(value = "给耗")
    private java.lang.String giveAttrition;
	
	/**水口或链尾*/
	@Excel(name = "水口或链尾", width = 15)
    @ApiModelProperty(value = "水口或链尾")
    private java.lang.String gate;
	
	/**原重量*/
	@Excel(name = "原重量", width = 15)
    @ApiModelProperty(value = "原重量")
    private java.math.BigDecimal originalWeight;
	
	/**差额*/
	@Excel(name = "差额", width = 15)
    @ApiModelProperty(value = "差额")
    private java.math.BigDecimal difference;
	
	/**是否拆过子单。0=否 1=是*/
	@Excel(name = "是否拆过子单", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否被拆子单")
    private java.lang.Integer isSplited;
	
	
	/**是否被合并。0=否 1=是*/
	@Excel(name = "是否被合并", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否被合并")
    private java.lang.Integer isMerged;
	
	/**合并单的工单号*/
	@Excel(name = "合并单的工单号", width = 15)
    @ApiModelProperty(value = "合并单的工单号")
    private java.lang.String mergeProdOrderCode;
	
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remark;
}
